package io;

import java.io.*;

//使用缓冲字符BufferedReader输入行按行读取字符串
//内部默认维护一个8912长的char数组，可以块读文本数据保证读取效率
//提供了reaLine()方法可以按行读取字符串
public class BrDemo {
    public static void main(String[] args) throws IOException {
       FileInputStream  fis = new FileInputStream("./src/io/BrDemo.java");
       InputStreamReader isr = new InputStreamReader(fis);
       BufferedReader br= new BufferedReader(isr);
       /*
       * readLine()读取一行字符串
       * 1）内部实现：首先第一次调用readLine时，会一次性读取8192个字符存入内部数组中
       * 然后从数组第1个字符开始读取，直到遇到\n换行符为止，会将读取到的内容以一个字符串形式返回
       *
       *
       *二：返回结果
       * 1）读到\n换行符，返回一行字符串
       * 2）读到空行，则返回空字符串
       * 3）读到了末尾，则返回null
       * */
       String line ;
       while((line=br.readLine())!=null){
           System.out.println(line);
       }
        br.close();
     }
}
